---
title: HTTP 请求方法
description: 详细介绍 HTTP 各种请求方法的作用、用法和区别
---

# HTTP 请求方法

HTTP 协议定义了多种请求方法，用于客户端与服务器之间的不同操作。

## 常见请求方法

### GET
- **作用**：请求获取资源数据。
- **特点**：安全、幂等，不修改服务器数据。
- **用法**：用于页面浏览、数据查询。
- **注意事项**：参数通常通过 URL 传递，长度有限。

### POST
- **作用**：向服务器提交数据（如表单、文件上传）。
- **特点**：不幂等，可能修改服务器数据。
- **用法**：用于创建资源、提交表单。
- **注意事项**：参数通过请求体传递，适合大量数据。

### PUT
- **作用**：更新或创建指定资源。
- **特点**：幂等，重复请求结果一致。
- **用法**：用于整体更新资源。
- **注意事项**：通常用于 RESTful API 的资源替换。

### DELETE
- **作用**：删除指定资源。
- **特点**：幂等，重复请求结果一致。
- **用法**：用于删除数据。

### PATCH
- **作用**：部分更新资源。
- **特点**：不一定幂等，通常用于局部修改。
- **用法**：用于资源的部分字段更新。

### HEAD
- **作用**：获取资源的响应头，不返回具体内容。
- **特点**：与 GET 类似但无响应体。
- **用法**：用于检测资源是否存在、获取元信息。

### OPTIONS
- **作用**：查询服务器支持的请求方法。
- **用法**：用于跨域预检请求、API 能力探测。

### TRACE
- **作用**：回显收到的请求，主要用于诊断。
- **注意事项**：实际应用较少，部分服务器禁用。

### CONNECT
- **作用**：建立隧道，用于 HTTPS 代理。
- **用法**：常见于代理服务器。

## 方法对比
| 方法 | 幂等性 | 安全性 | 主要用途 |
|------|-------|--------|----------|
| GET | 是 | 是 | 查询、获取数据 |
| POST | 否 | 否 | 创建、提交数据 |
| PUT | 是 | 否 | 更新或创建资源 |
| DELETE | 是 | 否 | 删除资源 |
| PATCH | 否 | 否 | 局部更新 |
| HEAD | 是 | 是 | 获取元信息 |
| OPTIONS | 是 | 是 | 查询支持方法 |
| TRACE | 是 | 否 | 回显请求 |
| CONNECT | 是 | 否 | 建立隧道 |

## 参考资料
- [MDN Web Docs: HTTP Methods](https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Methods)
- [RFC 7231: HTTP/1.1 Semantics and Content](https://datatracker.ietf.org/doc/html/rfc7231)